/* eslint-disable @typescript-eslint/no-var-requires */
const path = require("path");

process.env.VUE_APP_VERSION = require("./package.json").version;

const publicPath = process.env.NODE_ENV === "production" ? "/app/" : "/app/";

const resolve = (dir) => {
  return path.join(__dirname, dir);
};

module.exports = {
  publicPath,
  // 去掉文件名中的 hash
  // filenameHashing: false,
  configureWebpack: (config) => {
    console.log(config);
  },
  chainWebpack: (config) => {
    // 删除 HTML 相关的 webpack 插件
    // config.plugins.delete("html");
    // config.plugins.delete("preload");
    // config.plugins.delete("prefetch");
    // 移除 prefetch 插件
    // config.plugins.delete("prefetch");
    // 或者
    // 修改它的选项：
    // config.plugin("prefetch").tap((options) => {
    //   options[0].fileBlacklist = options[0].fileBlacklist || [];
    //   // 加入 prefetch 黑名单 about.js 果然就不 prefetch
    //   options[0].fileBlacklist.push(/about.js$/);
    //   return options;
    // });

    config.resolve.alias.set("_c", resolve("src/components"));

    // 设置静态资源内联的大小阈值
    config.module
      .rule("images")
      .use("url-loader")
      .loader("url-loader")
      .tap((options) => {
        return Object.assign(options, {
          limit: 4 * 1024,
        });
      });
  },
};
